Quản lý phần mềm bán vé xe VB
8.407 lượt xem;
- Nguoi_dung.vb
- Library /
- PhanMemBanVeXe_Full /
- project /
1 Imports System.Data
2 Imports System.Data.SqlClient
3 Class Nguoi_dung
4 Private flag As Boolean
5 Private bang_Nguoi_Dung As Data.DataTable
6 Private vi_tri_hien_hanh As Integer
7
8 Public Sub UpdateNguoiDung()
9 If Form_Login.LoginLoaiND = "Quan_Ly" OrElse Form_Login.LoginLoaiND = "Admin" Then
10 Doc_bang_Nguoi_Dung()
11 vi_tri_hien_hanh = 0
12 Xuat_thong_tin_Nguoi_Dung()
13 Tao_lien_ket()
14 Form_Main.luoi_NguoiDung.ReadOnly = True
15 Lock_Control(False)
16 LockButton(False)
17 Else
18 Doc_bang_Nguoi_Dung()
19 vi_tri_hien_hanh = 0
20 Xuat_thong_tin_Nguoi_Dung()
21 Tao_lien_ket()
22 Form_Main.luoi_NguoiDung.ReadOnly = True
23 Form_Main.Button_Them.Enabled = False
24 Form_Main.Button_Sua.Enabled = False
25 Form_Main.Button_Xoa.Enabled = False
26 Form_Main.Button_CapPass.Enabled = False
27 Form_Main.Button_PhanQuyen.Text = "Xem Quyền"
28 End If
29 End Sub
30
31 #Region "Xu ly doc bang nguoi dung va phan loai nguoi dung de hien thi da hoan tat"
32 Private Sub Doc_bang_Nguoi_Dung()
33 'Lam sach luoi sau moi lan cap nhat
34 Form_Main.luoi_NguoiDung.ClearSelection()
35 Dim lenh As String
36 If Form_Login.LoginLoaiND = "Quan_Ly" Then
37 lenh = "Select * from NguoiDung where IdLoaiND = 'Nhan_Vien' or IdNguoiDung = '" & Form_Login.LoginTenND & "'"
38 ElseIf Form_Login.LoginLoaiND = "Nhan_Vien" Then
39 lenh = "Select * from NguoiDung where IdNguoiDung = '" & Form_Login.txtUserName.Text & "'"
40 Else
41 lenh = "Select * from NguoiDung"
42 End If
43 bang_Nguoi_Dung = Doc_bang(lenh)
44 Form_Main.luoi_NguoiDung.DataSource = bang_Nguoi_Dung
45 End Sub
46 #End Region
47
48 #Region "Xu ly cac nut di chuyen va xuat thong tin nguoi dung da hoan tat"
49 Private Sub Xuat_thong_tin_Nguoi_Dung()
50 Dim dong As DataRow = bang_Nguoi_Dung.Rows(vi_tri_hien_hanh)
51 With Form_Main
52 .cbo_Username.Text = dong("IdNguoiDung").ToString
53 .txt_Password.Text = dong("PassND").ToString
54 .txt_HoTen.Text = CStr(dong("HoTen"))
55 .date_NgaySinh.Text = CStr(dong("NgaySinh"))
56 If dong("GioiTinh").ToString = "Nam" Then
57 .radNam.Checked = True
58 Else
59 .radNu.Checked = True
60 End If
61 .txt_DiaChi.Text = dong("DiaChi").ToString
62 .txt_SoDienThoai.Text = dong("SoDT").ToString
63 .cbo_IdLoaiND.Text = dong("IdLoaiND").ToString
64 End With
65 End Sub
66
67 Public Sub Di_chuyen_ve_sau()
68 If vi_tri_hien_hanh < bang_Nguoi_Dung.Rows.Count - 1 Then
69 vi_tri_hien_hanh += 1
70 Xuat_thong_tin_Nguoi_Dung()
71 End If
72 End Sub
73
74 Public Sub Di_chuyen_ve_truoc()
75 If vi_tri_hien_hanh > 0 Then
76 vi_tri_hien_hanh -= 1
77 Xuat_thong_tin_Nguoi_Dung()
78 End If
79 End Sub
80
81 Public Sub Di_chuyen_ve_dau()
82 vi_tri_hien_hanh = 0
83 Xuat_thong_tin_Nguoi_Dung()
84 End Sub
85
86 Public Sub Di_chuyen_ve_cuoi()
87 vi_tri_hien_hanh = bang_Nguoi_Dung.Rows.Count - 1
88 Xuat_thong_tin_Nguoi_Dung()
89 End Sub
90 #End Region
91
92 #Region "Tao lien ket giua cac dieu khien voi datagridview da hoan tat"
93 Private Sub Tao_lien_ket()
94 Dim query As New SqlCommand("select IdLoaiND from LoaiNguoiDung", connect)
95 Dim dr As SqlDataReader
96 connect.Open()
97 dr = query.ExecuteReader
98 Form_Main.cbo_IdLoaiND.Items.Clear()
99 While dr.Read() = True
100 If Form_Login.LoginLoaiND = "Admin" Then
101 Form_Main.cbo_IdLoaiND.Items.Add(dr.GetValue(0).ToString)
102 ElseIf Form_Login.LoginLoaiND = "Quan_Ly" Then
103 If dr.GetValue(0).ToString <> "Admin" Then
104 Form_Main.cbo_IdLoaiND.Items.Add(dr.GetValue(0).ToString)
105 End If
106 Else
107 If dr.GetValue(0).ToString <> "Admin" AndAlso dr.GetValue(0).ToString <> "Quan_Ly" Then
108 Form_Main.cbo_IdLoaiND.Items.Add(dr.GetValue(0).ToString)
109 End If
110 End If
111 End While
112 connect.Close()
113 With Form_Main.cbo_Username
114 .DataSource = Form_Main.luoi_NguoiDung.DataSource
115 .DisplayMember = "IdNguoiDung"
116 .ValueMember = "IdNguoiDung"
117 .SelectedValue = "IdNguoiDung"
118 End With
119 Xoa_lien_ket()
120 'Tao gia tri mac dinh la IdNguoiDung dong thu 0 cot 0 luc khoi dong vi IdNguoiDung la member ko lien ket duoc
121 Form_Main.cbo_Username.Text = Form_Main.luoi_NguoiDung.Rows(0).Cells.Item(0).Value.ToString
122 Form_Main.txt_Password.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "PassND")
123 Form_Main.txt_DiaChi.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "DiaChi")
124 Form_Main.txt_HoTen.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "HoTen")
125 Form_Main.txt_SoDienThoai.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "SoDT")
126 Form_Main.date_NgaySinh.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "NgaySinh")
127 Form_Main.cbo_IdLoaiND.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "IdLoaiND")
128 End Sub
129 #End Region
130
131 #Region "Xoa lien ket giua cac dieu khien voi datagridview da hoan tat"
132 Private Sub Xoa_lien_ket()
133 Form_Main.txt_Password.DataBindings.Clear()
134 Form_Main.txt_DiaChi.DataBindings.Clear()
135 Form_Main.txt_HoTen.DataBindings.Clear()
136 Form_Main.txt_SoDienThoai.DataBindings.Clear()
137 Form_Main.cbo_IdLoaiND.DataBindings.Clear()
138 Form_Main.date_NgaySinh.DataBindings.Clear()
139 End Sub
140 #End Region
141
142 #Region "Them va sua thong tin nguoi dung da ly ly xong"
143 Public Sub Them_nguoi_dung()
144 flag = True
145 Lock_Control(True)
146 LockButton(True)
147 Clear_Control()
148 Form_Main.luoi_NguoiDung.ReadOnly = False
149 End Sub
150
151 Public Sub Sua_thong_tin_ca_nhan()
152 flag = False
153 Lock_Control(True)
154 LockButton(True)
155 Form_Main.cbo_Username.Focus()
156 Form_Main.cbo_Username.Text = Form_Login.LoginTenND
157 Form_Main.cbo_Username.Enabled = False
158 Form_Main.luoi_NguoiDung.ReadOnly = False
159 Form_Main.cbo_IdLoaiND.Enabled = False
160 End Sub
161
162 Public Sub Luu_thay_doi()
163 Tao_ket_noi()
164 If connect.State = ConnectionState.Open Then
165 connect.Close()
166 End If
167 With Form_Main
168 If flag = True Then 'Them nguoi dung moi
169 If TestInfo() Then
170 Dim dg As DialogResult = MessageBox.Show("Ban có chắn chắc muốn thêm người dùng này không, " & vbNewLine & _
171 "Click OK đê đồng ý, Cancel để hủy.", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
172 If dg = Windows.Forms.DialogResult.OK Then
173 Dim flag As Integer = 0
174 Dim sqlCM As New SqlCommand("select IdNguoiDung from NguoiDung ", connect)
175 Dim sqlDR As SqlDataReader
176 connect.Open()
177 sqlDR = sqlCM.ExecuteReader
178 While sqlDR.Read() = True
179 If sqlDR.GetValue(0).ToString = .cbo_Username.Text Then
180 flag = 1
181 MsgBox("Tài khoản " + .cbo_Username.Text + " đã được sử dụng !", MsgBoxStyle.OkOnly, "Thông Báo")
182 End If
183 End While
184 connect.Close()
185
186 If flag = 0 Then
187 Dim sqlqr As New SqlCommand
188 sqlqr.Connection = connect
189 If .radNam.Checked = True Then
190 sqlqr.CommandText = "insert into NguoiDung values('" + .cbo_Username.Text + "','" + .txt_Password.Text + "',N'" + .txt_HoTen.Text + "','" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',N'Nam',N'" + .txt_DiaChi.Text + "'," + .txt_SoDienThoai.Text + ",'" + .cbo_IdLoaiND.Text + "')"
191 Else
192 sqlqr.CommandText = "insert into NguoiDung values('" + .cbo_Username.Text + "','" + .txt_Password.Text + "',N'" + .txt_HoTen.Text + "','" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',N'Nữ',N'" + .txt_DiaChi.Text + "'," + .txt_SoDienThoai.Text + ",'" + .cbo_IdLoaiND.Text + "')"
193 End If
194
195 connect.Open()
196 Try
197 sqlqr.ExecuteNonQuery()
198 connect.Close()
199 Doc_bang_Nguoi_Dung()
200 vi_tri_hien_hanh = 0
201 Xuat_thong_tin_Nguoi_Dung()
202 Tao_lien_ket()
203 MsgBox("Đã cập nhật dữ liệu thành công", MsgBoxStyle.Information, "Thông báo")
204 Catch ex As Exception
205 MsgBox("Một số kí tự trong ô 'Họ Tên' và 'Địa Chỉ' không phù hợp" & vbNewLine & "Các kí có thể nhập là 0 - 9, 26 chữ cái, '_', các dấu trong tiếng việt và một số kí tự khác", MsgBoxStyle.Exclamation, "Thông báo lỗi")
206 connect.Close()
207 End Try
208 End If
209 Else
210 Huy_thao_tac()
211 End If
212
213 End If
214 Else 'Sua thong tin nguoi dung
215 If TestInfo() Then
216 If Form_Main.cbo_Username.Text <> Form_Login.LoginTenND Then
217 Dim dg As DialogResult = MessageBox.Show("Ban chỉ có quyền sưa thông tin cá nhân của mình, " & vbNewLine & _
218 "Click OK đê tiếp tục sửa thông tin, Cancel để hủy thao tác", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
219 If dg = Windows.Forms.DialogResult.OK Then
220 Sua_thong_tin_ca_nhan()
221 Exit Sub
222 Else
223 Huy_thao_tac()
224 Exit Sub
225 End If
226 End If
227
228 Dim dialog As DialogResult = MessageBox.Show("Ban có chắn chắc muốn sửa thông tin cá nhân., " & vbNewLine & _
229 "Click OK đê đồng ý, Cancel để hủy.", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
230 If dialog = DialogResult.OK Then
231 Dim sqlqr As New SqlCommand
232 sqlqr.Connection = connect
233 If .radNam.Checked Then
234 sqlqr.CommandText = "update NguoiDung set PassND='" + .txt_Password.Text + "',HoTen=N'" + .txt_HoTen.Text + "',NgaySinh='" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',GioiTinh=N'Nam',DiaChi=N'" + .txt_DiaChi.Text + "',SoDT=" + .txt_SoDienThoai.Text + ",IdLoaiND='" + .cbo_IdLoaiND.Text + "' where IdNguoiDung='" + .cbo_Username.Text + "'"
235 Else
236 sqlqr.CommandText = "update NguoiDung set PassND='" + .txt_Password.Text + "',HoTen=N'" + .txt_HoTen.Text + "',NgaySinh='" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',GioiTinh=N'Nữ',DiaChi=N'" + .txt_DiaChi.Text + "',SoDT=" + .txt_SoDienThoai.Text + ",IdLoaiND='" + .cbo_IdLoaiND.Text + "' where IdNguoiDung='" + .cbo_Username.Text + "'"
237 End If
238
239 Try
240 connect.Open()
241 sqlqr.ExecuteNonQuery()
242 connect.Close()
243 Lock_Control(False)
244 LockButton(False)
245 Form_Main.luoi_NguoiDung.Enabled = True
246 UpdateNguoiDung()
247 MsgBox("Đã cập nhật dữ liệu thành công", MsgBoxStyle.Information, "Thông báo")
248 Catch ex As Exception
249 MsgBox("Một số kí tự bạn nhập không phù hợp" & vbNewLine & "Các kí có thể nhập là 0 - 9, 26 chữ cái, _ @ * % $ & - ~ và một số kí tự khác", MsgBoxStyle.Exclamation, "Thông báo lỗi")
250 connect.Close()
251 End Try
252 Else
253 Huy_thao_tac()
254 End If
255 End If
256 End If
257 End With
258 End Sub
259 #End Region
260
261 #Region "Xu ly huy thao tac cap nhat da hoan tat"
262 Public Sub Huy_thao_tac()
263 Xoa_lien_ket()
264 Lock_Control(False)
265 LockButton(False)
266 UpdateNguoiDung()
267 End Sub
268 #End Region
269
270 #Region "Xu ly xoa nguoi dung da hoan tat"
271 Public Sub Xoa_nguoi_dung()
272 If Trim(Form_Main.cbo_Username.Text) = Form_Login.LoginTenND Then
273 Dim dg As DialogResult = MessageBox.Show("Ban không được quyền xóa thông tin của chính bạn được. " _
274 , "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning)
275 Else
276 Dim qs = MessageBox.Show("Bạn chắc chắn muốn xóa tất cả thông tin về:" & vbNewLine & _
277 " - User name người dùng: " & Form_Main.cbo_Username.Text & vbNewLine & _
278 " - Tên: " & Form_Main.txt_HoTen.Text & vbNewLine & _
279 " - Số điện thoại: " & Form_Main.txt_SoDienThoai.Text, "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information)
280 If qs = DialogResult.Yes Then
281 Dim lenh As String = "Delete from NguoiDung where IdNguoiDung = '" & Form_Main.cbo_Username.SelectedValue.ToString & "'"
282 Dim query1 As New SqlCommand(lenh, connect)
283 Try
284 connect.Open()
285 query1.ExecuteNonQuery()
286 connect.Close()
287 UpdateNguoiDung()
288 MsgBox("Dữ liệu đã xóa thành công", vbInformation, "Thông báo")
289 Catch ex As Exception
290 MsgBox("Xóa không thành công", vbExclamation, "Thông báo")
291 End Try
292 Else
293 MsgBox("Đã hủy thao tác xóa!", vbExclamation, "Thông báo")
294 End If
295 End If
296 End Sub
297 #End Region
298
299 #Region "Cac xu ly phu voi cac dieu khien da hoan tat"
300 Private Sub Lock_Control(ByVal f As Boolean)
301 With Form_Main
302 .cbo_Username.Enabled = True
303 .txt_Password.Enabled = f
304 .txt_HoTen.Enabled = f
305 .date_NgaySinh.Enabled = f
306 .radNam.Enabled = f
307 .radNu.Enabled = f
308 .cbo_IdLoaiND.Enabled = f
309 .txt_SoDienThoai.Enabled = f
310 .txt_DiaChi.Enabled = f
311 End With
312 End Sub
313
314 Private Sub Clear_Control()
315 With Form_Main
316 .txt_Password.Text = ""
317 .txt_DiaChi.Text = ""
318 .txt_HoTen.Text = ""
319 .txt_SoDienThoai.Text = ""
320 .radNu.Checked = True
321 .cbo_Username.Text = ""
322 .date_NgaySinh.Text = ""
323 .cbo_IdLoaiND.Text = "Nhan_Vien"
324 .cbo_Username.Focus()
325 End With
326 End Sub
327
328 Private Sub LockButton(ByVal dt As Boolean)
329 With Form_Main
330 .Button_Them.Enabled = Not dt
331 .Button_Sua.Enabled = Not dt
332 .Button_Xoa.Enabled = Not dt
333 .Button_Luu.Enabled = dt
334 .Button_Huy.Enabled = dt
335 .Button_PhanQuyen.Enabled = Not dt
336 .Button_CapPass.Enabled = Not dt
337 End With
338 End Sub
339
340 Private Function TestInfo() As Boolean
341 TestInfo = True
342 With Form_Main
343 If Trim(.cbo_Username.Text) = "" OrElse Trim(.txt_Password.Text) = "" OrElse Trim(.txt_HoTen.Text) = "" _
344 OrElse Trim(.date_NgaySinh.Text) = "" OrElse Trim(.cbo_IdLoaiND.Text) = "" _
345 OrElse Trim(.txt_SoDienThoai.Text) = "" OrElse Trim(.txt_DiaChi.Text) = "" Then
346 TestInfo = False
347 MsgBox("Bạn phải nhập đầy đủ thông tin!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
348 End If
349
350 If Trim(.cbo_Username.Text) = "" Then
351 .cbo_Username.Focus()
352 Exit Function
353 ElseIf Trim(.txt_Password.Text) = "" Then
354 .txt_Password.Focus()
355 Exit Function
356 ElseIf Trim(.txt_HoTen.Text) = "" Then
357 .txt_HoTen.Focus()
358 Exit Function
359 ElseIf Trim(.date_NgaySinh.Text) = "" Then
360 .date_NgaySinh.Focus()
361 Exit Function
362 ElseIf Trim(.txt_SoDienThoai.Text) = "" Then
363 .txt_SoDienThoai.Focus()
364 Exit Function
365 ElseIf Trim(.txt_DiaChi.Text) = "" Then
366 .txt_DiaChi.Focus()
367 Exit Function
368 End If
369
370 If Trim(.txt_Password.Text).Length < 5 Then
371 TestInfo = False
372 MsgBox("Password không được ít hơn 5 kí tự!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
373 .txt_Password.Focus()
374 Exit Function
375 End If
376
377 If Trim(.cbo_IdLoaiND.Text) <> "Quan_Ly" AndAlso Trim(.cbo_IdLoaiND.Text) <> "Nhan_Vien" AndAlso Trim(.cbo_IdLoaiND.Text) <> "Admin" Then
378 TestInfo = False
379 MsgBox("Loại người dùng chỉ có thể là QL(Quản Lý) hoặc NV(Nhân Viên)", MsgBoxStyle.Exclamation, "Thông báo lỗi")
380 .cbo_IdLoaiND.Focus()
381 Exit Function
382 End If
383
384 If Trim(.txt_SoDienThoai.Text).Length > 11 Then
385 TestInfo = False
386 MsgBox("Số điện thoại không được quá 11 số", MsgBoxStyle.Exclamation, "Thông báo lỗi")
387 .txt_SoDienThoai.Focus()
388 Exit Function
389 End If
390 End With
391 End Function
392 #End Region
393
394 End Class
2 Imports System.Data.SqlClient
3 Class Nguoi_dung
4 Private flag As Boolean
5 Private bang_Nguoi_Dung As Data.DataTable
6 Private vi_tri_hien_hanh As Integer
7
8 Public Sub UpdateNguoiDung()
9 If Form_Login.LoginLoaiND = "Quan_Ly" OrElse Form_Login.LoginLoaiND = "Admin" Then
10 Doc_bang_Nguoi_Dung()
11 vi_tri_hien_hanh = 0
12 Xuat_thong_tin_Nguoi_Dung()
13 Tao_lien_ket()
14 Form_Main.luoi_NguoiDung.ReadOnly = True
15 Lock_Control(False)
16 LockButton(False)
17 Else
18 Doc_bang_Nguoi_Dung()
19 vi_tri_hien_hanh = 0
20 Xuat_thong_tin_Nguoi_Dung()
21 Tao_lien_ket()
22 Form_Main.luoi_NguoiDung.ReadOnly = True
23 Form_Main.Button_Them.Enabled = False
24 Form_Main.Button_Sua.Enabled = False
25 Form_Main.Button_Xoa.Enabled = False
26 Form_Main.Button_CapPass.Enabled = False
27 Form_Main.Button_PhanQuyen.Text = "Xem Quyền"
28 End If
29 End Sub
30
31 #Region "Xu ly doc bang nguoi dung va phan loai nguoi dung de hien thi da hoan tat"
32 Private Sub Doc_bang_Nguoi_Dung()
33 'Lam sach luoi sau moi lan cap nhat
34 Form_Main.luoi_NguoiDung.ClearSelection()
35 Dim lenh As String
36 If Form_Login.LoginLoaiND = "Quan_Ly" Then
37 lenh = "Select * from NguoiDung where IdLoaiND = 'Nhan_Vien' or IdNguoiDung = '" & Form_Login.LoginTenND & "'"
38 ElseIf Form_Login.LoginLoaiND = "Nhan_Vien" Then
39 lenh = "Select * from NguoiDung where IdNguoiDung = '" & Form_Login.txtUserName.Text & "'"
40 Else
41 lenh = "Select * from NguoiDung"
42 End If
43 bang_Nguoi_Dung = Doc_bang(lenh)
44 Form_Main.luoi_NguoiDung.DataSource = bang_Nguoi_Dung
45 End Sub
46 #End Region
47
48 #Region "Xu ly cac nut di chuyen va xuat thong tin nguoi dung da hoan tat"
49 Private Sub Xuat_thong_tin_Nguoi_Dung()
50 Dim dong As DataRow = bang_Nguoi_Dung.Rows(vi_tri_hien_hanh)
51 With Form_Main
52 .cbo_Username.Text = dong("IdNguoiDung").ToString
53 .txt_Password.Text = dong("PassND").ToString
54 .txt_HoTen.Text = CStr(dong("HoTen"))
55 .date_NgaySinh.Text = CStr(dong("NgaySinh"))
56 If dong("GioiTinh").ToString = "Nam" Then
57 .radNam.Checked = True
58 Else
59 .radNu.Checked = True
60 End If
61 .txt_DiaChi.Text = dong("DiaChi").ToString
62 .txt_SoDienThoai.Text = dong("SoDT").ToString
63 .cbo_IdLoaiND.Text = dong("IdLoaiND").ToString
64 End With
65 End Sub
66
67 Public Sub Di_chuyen_ve_sau()
68 If vi_tri_hien_hanh < bang_Nguoi_Dung.Rows.Count - 1 Then
69 vi_tri_hien_hanh += 1
70 Xuat_thong_tin_Nguoi_Dung()
71 End If
72 End Sub
73
74 Public Sub Di_chuyen_ve_truoc()
75 If vi_tri_hien_hanh > 0 Then
76 vi_tri_hien_hanh -= 1
77 Xuat_thong_tin_Nguoi_Dung()
78 End If
79 End Sub
80
81 Public Sub Di_chuyen_ve_dau()
82 vi_tri_hien_hanh = 0
83 Xuat_thong_tin_Nguoi_Dung()
84 End Sub
85
86 Public Sub Di_chuyen_ve_cuoi()
87 vi_tri_hien_hanh = bang_Nguoi_Dung.Rows.Count - 1
88 Xuat_thong_tin_Nguoi_Dung()
89 End Sub
90 #End Region
91
92 #Region "Tao lien ket giua cac dieu khien voi datagridview da hoan tat"
93 Private Sub Tao_lien_ket()
94 Dim query As New SqlCommand("select IdLoaiND from LoaiNguoiDung", connect)
95 Dim dr As SqlDataReader
96 connect.Open()
97 dr = query.ExecuteReader
98 Form_Main.cbo_IdLoaiND.Items.Clear()
99 While dr.Read() = True
100 If Form_Login.LoginLoaiND = "Admin" Then
101 Form_Main.cbo_IdLoaiND.Items.Add(dr.GetValue(0).ToString)
102 ElseIf Form_Login.LoginLoaiND = "Quan_Ly" Then
103 If dr.GetValue(0).ToString <> "Admin" Then
104 Form_Main.cbo_IdLoaiND.Items.Add(dr.GetValue(0).ToString)
105 End If
106 Else
107 If dr.GetValue(0).ToString <> "Admin" AndAlso dr.GetValue(0).ToString <> "Quan_Ly" Then
108 Form_Main.cbo_IdLoaiND.Items.Add(dr.GetValue(0).ToString)
109 End If
110 End If
111 End While
112 connect.Close()
113 With Form_Main.cbo_Username
114 .DataSource = Form_Main.luoi_NguoiDung.DataSource
115 .DisplayMember = "IdNguoiDung"
116 .ValueMember = "IdNguoiDung"
117 .SelectedValue = "IdNguoiDung"
118 End With
119 Xoa_lien_ket()
120 'Tao gia tri mac dinh la IdNguoiDung dong thu 0 cot 0 luc khoi dong vi IdNguoiDung la member ko lien ket duoc
121 Form_Main.cbo_Username.Text = Form_Main.luoi_NguoiDung.Rows(0).Cells.Item(0).Value.ToString
122 Form_Main.txt_Password.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "PassND")
123 Form_Main.txt_DiaChi.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "DiaChi")
124 Form_Main.txt_HoTen.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "HoTen")
125 Form_Main.txt_SoDienThoai.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "SoDT")
126 Form_Main.date_NgaySinh.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "NgaySinh")
127 Form_Main.cbo_IdLoaiND.DataBindings.Add("text", Form_Main.luoi_NguoiDung.DataSource, "IdLoaiND")
128 End Sub
129 #End Region
130
131 #Region "Xoa lien ket giua cac dieu khien voi datagridview da hoan tat"
132 Private Sub Xoa_lien_ket()
133 Form_Main.txt_Password.DataBindings.Clear()
134 Form_Main.txt_DiaChi.DataBindings.Clear()
135 Form_Main.txt_HoTen.DataBindings.Clear()
136 Form_Main.txt_SoDienThoai.DataBindings.Clear()
137 Form_Main.cbo_IdLoaiND.DataBindings.Clear()
138 Form_Main.date_NgaySinh.DataBindings.Clear()
139 End Sub
140 #End Region
141
142 #Region "Them va sua thong tin nguoi dung da ly ly xong"
143 Public Sub Them_nguoi_dung()
144 flag = True
145 Lock_Control(True)
146 LockButton(True)
147 Clear_Control()
148 Form_Main.luoi_NguoiDung.ReadOnly = False
149 End Sub
150
151 Public Sub Sua_thong_tin_ca_nhan()
152 flag = False
153 Lock_Control(True)
154 LockButton(True)
155 Form_Main.cbo_Username.Focus()
156 Form_Main.cbo_Username.Text = Form_Login.LoginTenND
157 Form_Main.cbo_Username.Enabled = False
158 Form_Main.luoi_NguoiDung.ReadOnly = False
159 Form_Main.cbo_IdLoaiND.Enabled = False
160 End Sub
161
162 Public Sub Luu_thay_doi()
163 Tao_ket_noi()
164 If connect.State = ConnectionState.Open Then
165 connect.Close()
166 End If
167 With Form_Main
168 If flag = True Then 'Them nguoi dung moi
169 If TestInfo() Then
170 Dim dg As DialogResult = MessageBox.Show("Ban có chắn chắc muốn thêm người dùng này không, " & vbNewLine & _
171 "Click OK đê đồng ý, Cancel để hủy.", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
172 If dg = Windows.Forms.DialogResult.OK Then
173 Dim flag As Integer = 0
174 Dim sqlCM As New SqlCommand("select IdNguoiDung from NguoiDung ", connect)
175 Dim sqlDR As SqlDataReader
176 connect.Open()
177 sqlDR = sqlCM.ExecuteReader
178 While sqlDR.Read() = True
179 If sqlDR.GetValue(0).ToString = .cbo_Username.Text Then
180 flag = 1
181 MsgBox("Tài khoản " + .cbo_Username.Text + " đã được sử dụng !", MsgBoxStyle.OkOnly, "Thông Báo")
182 End If
183 End While
184 connect.Close()
185
186 If flag = 0 Then
187 Dim sqlqr As New SqlCommand
188 sqlqr.Connection = connect
189 If .radNam.Checked = True Then
190 sqlqr.CommandText = "insert into NguoiDung values('" + .cbo_Username.Text + "','" + .txt_Password.Text + "',N'" + .txt_HoTen.Text + "','" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',N'Nam',N'" + .txt_DiaChi.Text + "'," + .txt_SoDienThoai.Text + ",'" + .cbo_IdLoaiND.Text + "')"
191 Else
192 sqlqr.CommandText = "insert into NguoiDung values('" + .cbo_Username.Text + "','" + .txt_Password.Text + "',N'" + .txt_HoTen.Text + "','" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',N'Nữ',N'" + .txt_DiaChi.Text + "'," + .txt_SoDienThoai.Text + ",'" + .cbo_IdLoaiND.Text + "')"
193 End If
194
195 connect.Open()
196 Try
197 sqlqr.ExecuteNonQuery()
198 connect.Close()
199 Doc_bang_Nguoi_Dung()
200 vi_tri_hien_hanh = 0
201 Xuat_thong_tin_Nguoi_Dung()
202 Tao_lien_ket()
203 MsgBox("Đã cập nhật dữ liệu thành công", MsgBoxStyle.Information, "Thông báo")
204 Catch ex As Exception
205 MsgBox("Một số kí tự trong ô 'Họ Tên' và 'Địa Chỉ' không phù hợp" & vbNewLine & "Các kí có thể nhập là 0 - 9, 26 chữ cái, '_', các dấu trong tiếng việt và một số kí tự khác", MsgBoxStyle.Exclamation, "Thông báo lỗi")
206 connect.Close()
207 End Try
208 End If
209 Else
210 Huy_thao_tac()
211 End If
212
213 End If
214 Else 'Sua thong tin nguoi dung
215 If TestInfo() Then
216 If Form_Main.cbo_Username.Text <> Form_Login.LoginTenND Then
217 Dim dg As DialogResult = MessageBox.Show("Ban chỉ có quyền sưa thông tin cá nhân của mình, " & vbNewLine & _
218 "Click OK đê tiếp tục sửa thông tin, Cancel để hủy thao tác", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
219 If dg = Windows.Forms.DialogResult.OK Then
220 Sua_thong_tin_ca_nhan()
221 Exit Sub
222 Else
223 Huy_thao_tac()
224 Exit Sub
225 End If
226 End If
227
228 Dim dialog As DialogResult = MessageBox.Show("Ban có chắn chắc muốn sửa thông tin cá nhân., " & vbNewLine & _
229 "Click OK đê đồng ý, Cancel để hủy.", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)
230 If dialog = DialogResult.OK Then
231 Dim sqlqr As New SqlCommand
232 sqlqr.Connection = connect
233 If .radNam.Checked Then
234 sqlqr.CommandText = "update NguoiDung set PassND='" + .txt_Password.Text + "',HoTen=N'" + .txt_HoTen.Text + "',NgaySinh='" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',GioiTinh=N'Nam',DiaChi=N'" + .txt_DiaChi.Text + "',SoDT=" + .txt_SoDienThoai.Text + ",IdLoaiND='" + .cbo_IdLoaiND.Text + "' where IdNguoiDung='" + .cbo_Username.Text + "'"
235 Else
236 sqlqr.CommandText = "update NguoiDung set PassND='" + .txt_Password.Text + "',HoTen=N'" + .txt_HoTen.Text + "',NgaySinh='" + Format(.date_NgaySinh.Value, "yyyy/MM/dd") + "',GioiTinh=N'Nữ',DiaChi=N'" + .txt_DiaChi.Text + "',SoDT=" + .txt_SoDienThoai.Text + ",IdLoaiND='" + .cbo_IdLoaiND.Text + "' where IdNguoiDung='" + .cbo_Username.Text + "'"
237 End If
238
239 Try
240 connect.Open()
241 sqlqr.ExecuteNonQuery()
242 connect.Close()
243 Lock_Control(False)
244 LockButton(False)
245 Form_Main.luoi_NguoiDung.Enabled = True
246 UpdateNguoiDung()
247 MsgBox("Đã cập nhật dữ liệu thành công", MsgBoxStyle.Information, "Thông báo")
248 Catch ex As Exception
249 MsgBox("Một số kí tự bạn nhập không phù hợp" & vbNewLine & "Các kí có thể nhập là 0 - 9, 26 chữ cái, _ @ * % $ & - ~ và một số kí tự khác", MsgBoxStyle.Exclamation, "Thông báo lỗi")
250 connect.Close()
251 End Try
252 Else
253 Huy_thao_tac()
254 End If
255 End If
256 End If
257 End With
258 End Sub
259 #End Region
260
261 #Region "Xu ly huy thao tac cap nhat da hoan tat"
262 Public Sub Huy_thao_tac()
263 Xoa_lien_ket()
264 Lock_Control(False)
265 LockButton(False)
266 UpdateNguoiDung()
267 End Sub
268 #End Region
269
270 #Region "Xu ly xoa nguoi dung da hoan tat"
271 Public Sub Xoa_nguoi_dung()
272 If Trim(Form_Main.cbo_Username.Text) = Form_Login.LoginTenND Then
273 Dim dg As DialogResult = MessageBox.Show("Ban không được quyền xóa thông tin của chính bạn được. " _
274 , "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning)
275 Else
276 Dim qs = MessageBox.Show("Bạn chắc chắn muốn xóa tất cả thông tin về:" & vbNewLine & _
277 " - User name người dùng: " & Form_Main.cbo_Username.Text & vbNewLine & _
278 " - Tên: " & Form_Main.txt_HoTen.Text & vbNewLine & _
279 " - Số điện thoại: " & Form_Main.txt_SoDienThoai.Text, "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Information)
280 If qs = DialogResult.Yes Then
281 Dim lenh As String = "Delete from NguoiDung where IdNguoiDung = '" & Form_Main.cbo_Username.SelectedValue.ToString & "'"
282 Dim query1 As New SqlCommand(lenh, connect)
283 Try
284 connect.Open()
285 query1.ExecuteNonQuery()
286 connect.Close()
287 UpdateNguoiDung()
288 MsgBox("Dữ liệu đã xóa thành công", vbInformation, "Thông báo")
289 Catch ex As Exception
290 MsgBox("Xóa không thành công", vbExclamation, "Thông báo")
291 End Try
292 Else
293 MsgBox("Đã hủy thao tác xóa!", vbExclamation, "Thông báo")
294 End If
295 End If
296 End Sub
297 #End Region
298
299 #Region "Cac xu ly phu voi cac dieu khien da hoan tat"
300 Private Sub Lock_Control(ByVal f As Boolean)
301 With Form_Main
302 .cbo_Username.Enabled = True
303 .txt_Password.Enabled = f
304 .txt_HoTen.Enabled = f
305 .date_NgaySinh.Enabled = f
306 .radNam.Enabled = f
307 .radNu.Enabled = f
308 .cbo_IdLoaiND.Enabled = f
309 .txt_SoDienThoai.Enabled = f
310 .txt_DiaChi.Enabled = f
311 End With
312 End Sub
313
314 Private Sub Clear_Control()
315 With Form_Main
316 .txt_Password.Text = ""
317 .txt_DiaChi.Text = ""
318 .txt_HoTen.Text = ""
319 .txt_SoDienThoai.Text = ""
320 .radNu.Checked = True
321 .cbo_Username.Text = ""
322 .date_NgaySinh.Text = ""
323 .cbo_IdLoaiND.Text = "Nhan_Vien"
324 .cbo_Username.Focus()
325 End With
326 End Sub
327
328 Private Sub LockButton(ByVal dt As Boolean)
329 With Form_Main
330 .Button_Them.Enabled = Not dt
331 .Button_Sua.Enabled = Not dt
332 .Button_Xoa.Enabled = Not dt
333 .Button_Luu.Enabled = dt
334 .Button_Huy.Enabled = dt
335 .Button_PhanQuyen.Enabled = Not dt
336 .Button_CapPass.Enabled = Not dt
337 End With
338 End Sub
339
340 Private Function TestInfo() As Boolean
341 TestInfo = True
342 With Form_Main
343 If Trim(.cbo_Username.Text) = "" OrElse Trim(.txt_Password.Text) = "" OrElse Trim(.txt_HoTen.Text) = "" _
344 OrElse Trim(.date_NgaySinh.Text) = "" OrElse Trim(.cbo_IdLoaiND.Text) = "" _
345 OrElse Trim(.txt_SoDienThoai.Text) = "" OrElse Trim(.txt_DiaChi.Text) = "" Then
346 TestInfo = False
347 MsgBox("Bạn phải nhập đầy đủ thông tin!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
348 End If
349
350 If Trim(.cbo_Username.Text) = "" Then
351 .cbo_Username.Focus()
352 Exit Function
353 ElseIf Trim(.txt_Password.Text) = "" Then
354 .txt_Password.Focus()
355 Exit Function
356 ElseIf Trim(.txt_HoTen.Text) = "" Then
357 .txt_HoTen.Focus()
358 Exit Function
359 ElseIf Trim(.date_NgaySinh.Text) = "" Then
360 .date_NgaySinh.Focus()
361 Exit Function
362 ElseIf Trim(.txt_SoDienThoai.Text) = "" Then
363 .txt_SoDienThoai.Focus()
364 Exit Function
365 ElseIf Trim(.txt_DiaChi.Text) = "" Then
366 .txt_DiaChi.Focus()
367 Exit Function
368 End If
369
370 If Trim(.txt_Password.Text).Length < 5 Then
371 TestInfo = False
372 MsgBox("Password không được ít hơn 5 kí tự!", MsgBoxStyle.Exclamation, "Thông báo lỗi")
373 .txt_Password.Focus()
374 Exit Function
375 End If
376
377 If Trim(.cbo_IdLoaiND.Text) <> "Quan_Ly" AndAlso Trim(.cbo_IdLoaiND.Text) <> "Nhan_Vien" AndAlso Trim(.cbo_IdLoaiND.Text) <> "Admin" Then
378 TestInfo = False
379 MsgBox("Loại người dùng chỉ có thể là QL(Quản Lý) hoặc NV(Nhân Viên)", MsgBoxStyle.Exclamation, "Thông báo lỗi")
380 .cbo_IdLoaiND.Focus()
381 Exit Function
382 End If
383
384 If Trim(.txt_SoDienThoai.Text).Length > 11 Then
385 TestInfo = False
386 MsgBox("Số điện thoại không được quá 11 số", MsgBoxStyle.Exclamation, "Thông báo lỗi")
387 .txt_SoDienThoai.Focus()
388 Exit Function
389 End If
390 End With
391 End Function
392 #End Region
393
394 End Class